Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Лабораторна робота № 3

Інформація про навчальний заклад

ВУЗ:
Інші
Інститут:
ІКТА
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2010
Тип роботи:
Лабораторна робота
Предмет:
Мікропроцесори
Група:
ІБ - 43

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ ДЕРЖАВНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»  Побудова інфрачервоних детекторів руху на AVR-мікроконтролерах Лабораторна робота № 3 З курсу «Мікропроцесорні пристрої» Львів 2010 Мета роботи – ознайомитись з побудовою інфрачервоних детекторів руху і їх програмно апаратною реалізацією на AVR-мікроконтролерах. ЗАВДАННЯ Домашня підготовка до роботи 1.Вивчити теоретичний матеріал. 2.Вивчити основні властивості МК необхідні для виконання лабораторної роботи. 3.Підготувати програму функціонування охоронної системи Виконати в лабораторії 1.Створити проект в AVR Studio, ввести свою програму, провести її асемблювання. 2.В режимі покрокової відладки переконатися в правильності роботи програми. 3.Відкрити файл-схему у програмі Proteus, підключити до МК hex-файл. 4.Запустити режим симуляції схеми та перевірити правильність функціонування охоронної системи у всіх режимах роботи.  ТЕКСТ ПРОГРАМИ .include "2313def.inc" .def temp = r16 .def temp2 = r20 .equ LED = 1 .equ DOUT = 0 .equ SCLK = 1 .equ CS = 2 .equ SHDN = 3 .def Delay_b1 = r17; .def Delay_b2 = r18; .def Delay_b3 = r19; .def Result_l=R21 .def Result_h=R22 .equ T_Scan = 1000 .equ T_Led =99900 .equ T_Start = 49 .equ N = 2000; .equ V_N = 0x0339 .equ V_P = 0x4511 .cseg ;--адреси переривань--- .org 0 rjmp init; .org 0x004 rjmp Timer; ;--початок виконання програми-- init: ldi temp, low(RAMEND);стек в кінець out SPL, temp ;налаштування портів на ввід і вивід sbi DDRD, LED sbi PORTD, LED clr temp ldi temp,(1<<SCLK)+(1<<CS)+(1<<SHDN)+(0<<DOUT);налаштування виходів та входу для АЦП out DDRB, temp; ldi temp,(0<<SCLK)+(1<<CS)+(0<<SHDN)+(0<<DOUT);налаштування... out PORTB,temp;стану виходів для АЦП та непіддягування резистора! cli;заблокувати переривання ldi temp, high(N) out OCR1AH, temp;завантажуємо число для порівняння... ldi temp, low(N) out OCR1AL, temp;у регістр порівняння таймера ldi temp, (1<<OCIE1A);дозвіл переривання при співпадінні... out TIMSK, temp;регістру із числом. ldi temp, (1<<CTC1)+(0<<CS12)+(0<<CS11)+(1<<CS10);скид тамера лічильника при спрацюванні... out TCCR1B, temp;і коефіцієнт ділення =1. ldi temp, (1<<SE);дозвіл на режим сну. out MCUCR, temp wait: sei;дозволити переривання ;sleep ;сон) nop rjmp wait; ;обробка переривання від таймера ;------------------------------- Timer: ldi temp, (0<<CS12)+(0<<CS11)+(0<<CS10);тамер зупинено. out TCCR1B, temp; rcall ACP; ldi temp, low(V_P); якщо результат... ldi temp2, high(V_P); більший за задане... sub temp, result_l; число то... sbc temp2, result_h; переходимо до сирени. brcs Alarm ldi temp, low(V_N); якщо результат... ldi temp2, high(V_N); менший за задане... sub temp, result_l; число то... sbc temp2, result_h; переходимо до сирени. brsh Alarm sbi PORTD, LED; інакше залишаємо діод без змін rjmp end; кінець обробки переривання. Alarm: cbi PORTD, LED; вмикаємо СД. ldi Delay_b1, low(T_Led) ldi Delay_b2, high(T_Led) ldi Delay_b3, byte3(T_Led) rcall Delay; затримка свічення СД. sbi PORTD, LED; вимикаємо СД. end: ldi temp, (1<<CTC1)+(0<<CS12)+(0<<CS11)+(1<<CS10);налаштування таймера знову на роботу... out TCCR1B, temp; по зрізу reti; ;--процедура анал цифр зчитування------ ACP: clr Result_l;очищуємо для запису результату перетворення clr Result_h;очищуємо для запису результату перетворення sbi PORTB, SHDN;вмикаємо АЦП ldi Delay_b1, low(T_Start) ldi Delay_b2, high(T_Start) ldi Delay_b3, byte3(T_Start) rcall Delay;затримка для повного вмикання АЦП cbi PORTB, CS;запуск перетворення по спадаючому фронту eoc: sbis PINB, DOUT;чекаємо коли закінчиться перетворення rjmp eoc rcall Bit_Read;читаємо 11 біт результату перетворення bld result_h,3;запис 11 біту у результат через прапорець t. rcall Bit_Read;читаємо 10 біт результату перетворення bld result_h,2;запис 10 біту у результат через прапорець t. rcall Bit_Read;читаємо 9 біт результату перетворення bld result_h,1;запис 9 біту у результат ч...
Антиботан аватар за замовчуванням

13.02.2013 01:02

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини